using System;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("PlayerIcon")]
	public class PlayerIcon : PegUIElement
	{
		public GameObject m_OfflineIcon => method_3<GameObject>("m_OfflineIcon");

		public GameObject m_OnlineIcon => method_3<GameObject>("m_OnlineIcon");

		public PlayerPortrait m_OnlinePortrait => method_3<PlayerPortrait>("m_OnlinePortrait");

		public bool m_hidden => method_2<bool>("m_hidden");

		public BnetPlayer m_player => method_3<BnetPlayer>("m_player");

		public PlayerIcon(IntPtr address, string className)
			: base(address, className)
		{
		}

		public PlayerIcon(IntPtr address)
			: this(address, "PlayerIcon")
		{
		}

		public void Hide()
		{
			method_8("Hide");
		}

		public void Show()
		{
			method_8("Show");
		}

		public BnetPlayer GetPlayer()
		{
			return method_14<BnetPlayer>("GetPlayer", Array.Empty<object>());
		}

		public bool SetPlayer(BnetPlayer player)
		{
			return method_11<bool>("SetPlayer", new object[1] { player });
		}

		public void UpdateIcon()
		{
			method_8("UpdateIcon");
		}
	}
}
